import axios from 'axios'

// 从环境变量获取API地址，如果没有配置则使用默认值
// 开发环境始终使用代理，避免混合内容问题
const baseURL = import.meta.env.MODE === 'development'
  ? '/api'  // 开发环境使用代理
  : (import.meta.env.VITE_API_BASE_URL || 'http://152.136.176.21:7200')  // 生产环境

console.log('API Base URL:', baseURL)

const request = axios.create({
  baseURL: baseURL,
  timeout: 10000
})

// 请求拦截器
request.interceptors.request.use(
  config => {
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

// 响应拦截器
request.interceptors.response.use(
  response => {
    return response.data
  },
  error => {
    return Promise.reject(error)
  }
)

export default {
  // ========== 分类管理 ==========
  // 获取所有分类
  getCategories() {
    return request.get('/category/list')
  },

  // 添加分类
  addCategory(data) {
    return request.post('/category/add', data)
  },

  // 更新分类
  updateCategory(data) {
    return request.put('/category/update', data)
  },

  // 删除分类
  deleteCategory(id) {
    return request.delete(`/category/delete/${id}`)
  },

  // ========== 日期关键词管理 ==========
  // 获取指定日期的关键词
  getKeywordsByDate(date) {
    return request.get(`/keyword/list/${date}`)
  },

  // 获取所有关键词
  getAllKeywords() {
    return request.get('/keyword/all')
  },

  // 添加关键词
  addKeyword(data) {
    return request.post('/keyword/add', data)
  },

  // 更新关键词
  updateKeyword(data) {
    return request.put('/keyword/update', data)
  },

  // 删除关键词
  deleteKeyword(id) {
    return request.delete(`/keyword/delete/${id}`)
  }
}
